﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using EntityLayer;
namespace DataLayer.DAO
{
    public class clsT_LegajoDAO
    {
        private BDCONTRALORIAEntities ContextoDeObjs = new BDCONTRALORIAEntities();
        public bool Insertar(T_Legajo Obj)
        {
            try
            {
                ContextoDeObjs.AddObject("T_Legajo", Obj);
                ContextoDeObjs.SaveChanges();
                return true;
            }
            catch (Exception ex )
            {
                return false;
                throw;
            }
        }

        public bool Modificar(T_Legajo obj)
        {
            try
            {
                ContextoDeObjs.AttachTo("T_Legajo", obj);
                ContextoDeObjs.ObjectStateManager.ChangeObjectState(obj, System.Data.EntityState.Modified);
                ContextoDeObjs.SaveChanges();
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

        public bool Eliminar(T_Legajo obj)
        {
            try
            {
                ContextoDeObjs.AttachTo("T_Legajo", obj);
                ContextoDeObjs.DeleteObject(obj);
                ContextoDeObjs.SaveChanges();
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }

        public List<V_legajos_L> listarLegajos()
        {
            List<V_legajos_L> lista = new List<V_legajos_L>();
            var q = from c in ContextoDeObjs.V_legajos_L
                    select c;
            lista = q.ToList();
            return lista;
        }

        public List<V_legajos_obtener_Codigos> V_legajos_obtener_Codigos(string CO_legajo)
        {
            List<V_legajos_obtener_Codigos> V_legajos_obtener_Codigos = new List<V_legajos_obtener_Codigos>();
            var q = from c in ContextoDeObjs.V_legajos_obtener_Codigos
                    where c.CO_legajo == CO_legajo
                    select c;
            V_legajos_obtener_Codigos = q.ToList();
            return V_legajos_obtener_Codigos;
        }

        public List<V_legajos_obtener_Nombres> V_legajos_obtener_Nombres(string CO_legajo)
        {
            List<V_legajos_obtener_Nombres> V_legajos_obtener_Nombres = new List<V_legajos_obtener_Nombres>();
            var q = from c in ContextoDeObjs.V_legajos_obtener_Nombres
                    where c.CO_legajo == CO_legajo
                    select c;
            V_legajos_obtener_Nombres = q.ToList();
            return V_legajos_obtener_Nombres;
        }

        public List<T_Legajo> listarLegajoCO_legajo(string CO_legajo)
        {
            List<T_Legajo> listarLegajoCO_legajo = new List<T_Legajo>();
            var q = from c in ContextoDeObjs.T_Legajo
                    where c.CO_legajo == CO_legajo
                    select c;
            listarLegajoCO_legajo = q.ToList();
            return listarLegajoCO_legajo;
        }

        public List<sp_Genera_nrodeLegajo> listar_genera_nrodeLegajo()
        {
            List<sp_Genera_nrodeLegajo> listar_genera_nrodeLegajo = new List<sp_Genera_nrodeLegajo>();
            var q = ContextoDeObjs.sp_Genera_nrodeLegajo();

            listar_genera_nrodeLegajo = q.ToList();
            return listar_genera_nrodeLegajo;
        }
    }
}
